^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^YYYY^^^^^^^^YYYYYYYY^^^^^^^^YYYYYYYY^^^^^^^^YYYYYYYY^^^^^^^^YYYYYYYY^^^^^^^^YYYYYYYY^^^^^^^^YYYYYYYY^^^^^^^^YYYYYYYY^^^^^^^^YYYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX^^^^iiiiiiiiiiiiiiii^^^^^^^^iiiiiiiiiiiiiiii^^^^^^^^iiiiiiiiiiiiiiii^^^^^^^^iiiiiiiiiiiiiiii^^^^^^^^iiiiiiiiiiiiiiii^^^^^^^^iiiiiiiiiiiiiiii^^^^^^^^iiiiiiiiiiiiiiii^^^^^^^^iiiiiiiiiiiiiiii^^^^iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii^^^^iiiiiiiiiiiiiiii^^^^^^^^iiiiiiiiiiiiiiii^^^^^^^^iiiiiiiiiiiiiiii^^^^^^^^iiiiiiiiiiiiiiii^^^^^^^^iiiiiiiiiiiiiiii^^^^^^^^iiiiiiiiiiiiiiii^^^^^^^^iiiiiiiiiiiiiiii^^^^^^^^iiiiiiiiiiiiiiii^^^^XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYY^^^^^^^^YYYYYYYY^^^^^^^^YYYYYYYY^^^^^^^^YYYYYYYY^^^^^^^^YYYYYYYY^^^^^^^^YYYYYYYY^^^^^^^^YYYYYYYY^^^^^^^^YYYYYYYY^^^^^^^^YYYY^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^